/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package TableDAO;

import eloma.classe.LivroCaixa;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author Eloma
 */
public class LivroCaixaTableModel extends AbstractTableModel {

    private String[] nomeColunas = {"Mês", "Ano"};
    private List<LivroCaixa> listCaixa;

    public LivroCaixaTableModel() {
        listCaixa = new ArrayList<LivroCaixa>();
    }

    @Override
    public String getColumnName(int col) {
        return nomeColunas[col];
    }

    public LivroCaixaTableModel(List<LivroCaixa> lista) {
        this();
        this.listCaixa.clear();
        this.listCaixa.addAll(lista);
        super.fireTableDataChanged();
    }

    public int getRowCount() {
        return listCaixa.size();
    }

    public int getColumnCount() {
        return nomeColunas.length;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        LivroCaixa livro = listCaixa.get(rowIndex);
        switch (columnIndex) {
            case 0:
                return getMes(livro.getMes());
            case 1:
                return livro.getAno();

        }
        return null;
    }

    private String getMes(int mes) {
        if (mes == 1) {
            return "Janeiro";
        } else if (mes == 2) {
            return "Fevereiro";
        } else if (mes == 3) {
            return "Março";
        } else if (mes == 4) {
            return "Abril";
        } else if (mes == 5) {
            return "Maio";
        } else if (mes == 6) {
            return "Junho";
        } else if (mes == 7) {
            return "Julho";
        } else if (mes == 8) {
            return "Agosto";
        } else if (mes == 9) {
            return "Setembro";
        } else if (mes == 10) {
            return "Outubro";
        } else if (mes == 11) {
            return "Novembro";
        } else if (mes == 12) {
            return "Dezembro";
        } else {
            return null;
        }
    }
}
